]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
network: Don't pass a list of connections to the devices
authorJasper St. Pierre <jstpierre@mecheye.net>
Wed, 17 Jul 2013 05:10:42 +0000 (01:10 -0400)
committerJasper St. Pierre <jstpierre@mecheye.net>
Sun, 28 Jul 2013 19:39:40 +0000 (15:39 -0400)
Instead, just add them after they're constructed. This allows us to
not have to pass the connections to each device, and prevents issues
with having to enumerate the connections in the middle of construction.

https://bugzilla.gnome.org/show_bug.cgi?id=704670

js/ui/status/network.js

index 21a6d51b853dfeb6bebbeb0dd87ed0e42b57d4c0..f80f53ab9a0f6b1f99d249bfb1e632e48d356d92 100644 (file)
@@ -117,12 +117,11 @@ const NMDevice = new Lang.Class({
     Name: 'NMDevice',
     Abstract: true,
 
-    _init: function(client, device, connections) {
+    _init: function(client, device) {
         this._client = client;
         this._setDevice(device);
 
         this._connections = [];
-        connections.forEach(Lang.bind(this, this.checkConnection));
 
         this._activeConnection = null;
         this._activeConnectionItem = null;
@@ -463,7 +462,8 @@ const NMDeviceModem = new Lang.Class({
     Extends: NMDevice,
     category: NMConnectionCategory.WWAN,
 
-    _init: function(client, device, connections) {
+    _init: function(client, device) {
+        this.parent(client, device);
         device._description = _("Mobile broadband");
         this.mobileDevice = null;
 
@@ -497,8 +497,6 @@ const NMDeviceModem = new Lang.Class({
                 this.emit('icon-changed');
             }));
         }
-
-        this.parent(client, device, connections);
     },
 
     destroy: function() {
@@ -565,13 +563,11 @@ const NMDeviceModem = new Lang.Class({
 const NMDeviceBluetooth = new Lang.Class({
     Name: 'NMDeviceBluetooth',
     Extends: NMDevice,
+    category: NMConnectionCategory.WWAN,
 
-    _init: function(client, device, connections) {
+    _init: function(client, device) {
+        this.parent(client, device);
         device._description = _("Bluetooth");
-
-        this.category = NMConnectionCategory.WWAN;
-
-        this.parent(client, device, connections);
     },
 
     _activateAutomaticConnection: function() {
@@ -595,14 +591,13 @@ const NMDeviceBluetooth = new Lang.Class({
 const NMDeviceWireless = new Lang.Class({
     Name: 'NMDeviceWireless',
     Extends: NMDevice,
+    category: NMConnectionCategory.WIRELESS,
 
-    _init: function(client, device, connections) {
-        this.category = NMConnectionCategory.WIRELESS;
+    _init: function(client, device) {
+        this.parent(client, device);
 
         this._networks = [ ];
 
-        this.parent(client, device, connections);
-
         let accessPoints = device.get_access_points() || [ ];
         accessPoints.forEach(Lang.bind(this, function(ap) {
             this._accessPointAdded(this._device, ap);
@@ -1378,12 +1373,16 @@ const NMApplet = new Lang.Class({
 
         let wrapperClass = this._dtypes[device.get_device_type()];
         if (wrapperClass) {
-            let wrapper = new wrapperClass(this._client, device, this._connections);
+            let wrapper = new wrapperClass(this._client, device);
             this._addDeviceWrapper(wrapper);
 
             this._nmDevices.push(device);
             if (!skipSyncDeviceNames)
                 this._syncDeviceNames();
+
+            this._connections.forEach(function(connection) {
+                wrapper.checkConnection(connection);
+            });
         }
     },